home *** CD-ROM | disk | FTP | other *** search
- # GtkCdomProgress - add a cdrom to the apt sources
- #
- # Copyright (c) 2004-2007 Canonical Ltd.
- # 2004-2005 Michiel Sikkes
- #
- # Author: Michael Vogt <mvo@debian.org>
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License as
- # published by the Free Software Foundation; either version 2 of the
- # License, or (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- # USA
- import apt
- import gtk
- import gtk.glade
- from softwareproperties.gtk.SimpleGladeApp import SimpleGladeApp
- from gettext import gettext as _
-
- class CdromProgress(apt.progress.CdromProgress, SimpleGladeApp):
- def __init__(self,datadir, parent):
- SimpleGladeApp.__init__(self,
- datadir+"glade/dialogs.glade",
- "dialog_cdrom_progress",
- domain="update-manager")
- self.dialog_cdrom_progress.show()
- self.dialog_cdrom_progress.set_transient_for(parent)
- self.parent = parent
- self.button_cdrom_close.set_sensitive(False)
- def close(self):
- self.dialog_cdrom_progress.hide()
- def on_button_cdrom_close_clicked(self, widget):
- self.close()
- def update(self, text, step):
- """ update is called regularly so that the gui can be redrawn """
- if step > 0:
- self.progressbar_cdrom.set_fraction(step/float(self.totalSteps))
- if step == self.totalSteps:
- self.button_cdrom_close.set_sensitive(True)
- if text != "":
- self.label_cdrom.set_text(text)
- while gtk.events_pending():
- gtk.main_iteration()
- def askCdromName(self):
- dialog = gtk.MessageDialog(parent=self.dialog_cdrom_progress,
- flags=gtk.DIALOG_MODAL,
- type=gtk.MESSAGE_QUESTION,
- buttons=gtk.BUTTONS_OK_CANCEL,
- message_format=None)
- dialog.set_markup(_("Please enter a name for the disc"))
- entry = gtk.Entry()
- entry.show()
- dialog.vbox.pack_start(entry)
- res = dialog.run()
- dialog.destroy()
- if res == gtk.RESPONSE_OK:
- name = entry.get_text()
- return (True,name)
- return (False,"")
- def changeCdrom(self):
- dialog = gtk.MessageDialog(parent=self.dialog_cdrom_progress,
- flags=gtk.DIALOG_MODAL,
- type=gtk.MESSAGE_QUESTION,
- buttons=gtk.BUTTONS_OK_CANCEL,
- message_format=None)
- dialog.set_markup(_("Please insert a disk in the drive:"))
- res = dialog.run()
- dialog.destroy()
- if res == gtk.RESPONSE_OK:
- return True
- return False
-